<!DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
		<title>MatchExpression Class Reference</title>
		<meta id="xcode-display" name="xcode-display" content="render"/>
		<link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
		<link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
		<meta name="generator" content="appledoc 2.2 (build 963)" />
	</head>
	<body>
		<header id="top_header">
			<div id="library" class="hideInXcode">
				<h1><a id="libraryTitle" href="../index.html">SFS2X API v1.3.7 </a></h1>
				<a id="developerHome" href="../index.html">gotoAndPlay() / A51 Integrated</a>
			</div>
			
			<div id="title" role="banner">
				<h1 class="hideInXcode">MatchExpression Class Reference</h1>
			</div>
			<ul id="headerButtons" role="toolbar">
				<li id="toc_button">
					<button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
				</li>
				<li id="jumpto_button" role="navigation">
					<select id="jumpTo">
	<option value="top">Jump To&#133;</option>
	
	<option value="overview">Overview</option>
	
	
	
	
	<option value="tasks">Tasks</option>
	
	
	
	
	
	<option value="properties">Properties</option>
	
	<option value="//api/name/condition">&nbsp;&nbsp;&nbsp;&nbsp;condition</option>
	
	<option value="//api/name/logicOp">&nbsp;&nbsp;&nbsp;&nbsp;logicOp</option>
	
	<option value="//api/name/next">&nbsp;&nbsp;&nbsp;&nbsp;next</option>
	
	<option value="//api/name/value">&nbsp;&nbsp;&nbsp;&nbsp;value</option>
	
	<option value="//api/name/varName">&nbsp;&nbsp;&nbsp;&nbsp;varName</option>
	
	
	
	
	<option value="class_methods">Class Methods</option>
	
	<option value="//api/name/expressionWithVarName:condition:value:">&nbsp;&nbsp;&nbsp;&nbsp;+ expressionWithVarName:condition:value:</option>
	
	
	
	
	<option value="instance_methods">Instance Methods</option>
	
	<option value="//api/name/and:condition:value:">&nbsp;&nbsp;&nbsp;&nbsp;- and:condition:value:</option>
	
	<option value="//api/name/hasNext">&nbsp;&nbsp;&nbsp;&nbsp;- hasNext</option>
	
	<option value="//api/name/or:condition:value:">&nbsp;&nbsp;&nbsp;&nbsp;- or:condition:value:</option>
	
	<option value="//api/name/rewind">&nbsp;&nbsp;&nbsp;&nbsp;- rewind</option>
	
	
	
</select>
				</li>
			</ul>
		</header>
		<nav id="tocContainer" class="isShowingTOC">
			<ul id="toc" role="tree">
				
<li role="treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#overview">Overview</a></span></li>




<li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
	
</ul></li>





<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#properties">Properties</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/condition">condition</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/logicOp">logicOp</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/next">next</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/value">value</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/varName">varName</a></span></li>
	
</ul></li>



<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#class_methods">Class Methods</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/expressionWithVarName:condition:value:">expressionWithVarName:condition:value:</a></span></li>
	
</ul></li>



<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/and:condition:value:">and:condition:value:</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/hasNext">hasNext</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/or:condition:value:">or:condition:value:</a></span></li>
	
	<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/rewind">rewind</a></span></li>
	
</ul></li>


			</ul>
		</nav>
		<article>
			<div id="contents" class="isShowingTOC" role="main">
				<a title="MatchExpression Class Reference" name="top"></a>
				<div class="main-navigation navigation-top">
					<ul>
	<li><a href="../index.html">Index</a></li>
	<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
				</div>
				<div id="header">
					<div class="section-header">
						<h1 class="title title-header">MatchExpression Class Reference</h1>
					</div>		
				</div>
				<div id="container">	
					
					<div class="section section-specification"><table cellspacing="0"><tbody>
						<tr>
	<td class="specification-title">Inherits from</td>
	<td class="specification-value">NSObject</td>
</tr><tr>
	<td class="specification-title">Declared in</td>
	<td class="specification-value">MatchExpression.h<br />MatchExpression.m</td>
</tr>
						</tbody></table></div>
					
                    
                    
					
					<div class="section section-overview">
						<a title="Overview" name="overview"></a>
						<h2 class="subtitle subtitle-overview">Overview</h2>
						<p>Match Expressions are built like &ldquo;if&rdquo; conditions in any common programming language.</p>

<p>They work like queries in a database and can be used to search for Rooms or Users using custom criteria.
These expressions are extremely easy to create and concatenate and they can be used for many different filtering operations within the SFS2X framework.</p>

<p>This is a quick example:</p>

<pre><code> MatchExpression *exp = [MatchExpression expressionWithVarName:@"rank" condition:[NumberMatch numberMatchGreaterThan] value:[NSNumber numberWithInt:5]];
 exp = [exp and:@"country" condition:[StringMatch stringMatchEquals] value:@"Italy"];
</code></pre>

<p>Expressions are made of three elements:</p>

<ul>
<li>Variable name</li>
<li>Match operator</li>
<li>Value</li>
</ul>


<p>Additionally any number of expressions can be linked together with a logical <b>AND</b> / <b>OR</b> operator, just like in regular code.
In the above example we have created an expression that will check for a rank value &gt; 5 and a country value == &ldquo;Italy&rdquo;.</p>

<p>The search options are not just limited to User/Room Variables name. In fact the Matching engine provides two extra classes, RoomProperties and UserProperties,
where you can access many specific attributes of the Room and User class.</p>

<p>See <a href="../Classes/RoomProperties.html">RoomProperties</a>, <a href="../Classes/UserProperties.html">UserProperties</a></p>
					</div>
					
					
					
					
					
					<div class="section section-tasks">
						<a title="Tasks" name="tasks"></a>
						<h2 class="subtitle subtitle-tasks">Tasks</h2>
						
						
						
						

						<ul class="task-list">
							<li>
	<span class="tooltip">
		<code><a href="#//api/name/varName">&nbsp;&nbsp;varName</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/condition">&nbsp;&nbsp;condition</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/value">&nbsp;&nbsp;value</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/logicOp">&nbsp;&nbsp;logicOp</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/next">&nbsp;&nbsp;next</a></code>
	</span>
	<span class="task-item-suffix">property</span>
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/expressionWithVarName:condition:value:">+&nbsp;expressionWithVarName:condition:value:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/and:condition:value:">&ndash;&nbsp;and:condition:value:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/or:condition:value:">&ndash;&nbsp;or:condition:value:</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/hasNext">&ndash;&nbsp;hasNext</a></code>
	</span>
	
	
</li><li>
	<span class="tooltip">
		<code><a href="#//api/name/rewind">&ndash;&nbsp;rewind</a></code>
	</span>
	
	
</li>
						</ul>
						
					</div>
					
					
					
					
					
					<div class="section section-methods">
						<a title="Properties" name="properties"></a>
						<h2 class="subtitle subtitle-methods">Properties</h2>
						
						<div class="section-method">
	<a name="//api/name/condition" title="condition"></a>
	<h3 class="subsubtitle method-title">condition</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Get the condition used for matching</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) id&lt;IMatcher&gt; condition</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Get the condition used for matching</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Classes/BoolMatch.html">BoolMatch</a></p></code></li>
			
			<li><code><p><a href="../Classes/NumberMatch.html">NumberMatch</a></p></code></li>
			
			<li><code><p><a href="../Classes/StringMatch.html">StringMatch</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/logicOp" title="logicOp"></a>
	<h3 class="subsubtitle method-title">logicOp</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Get the current logic operator, could be null if the expression has no other concatenated expressions</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) LogicOperator *logicOp</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Get the current logic operator, could be null if the expression has no other concatenated expressions</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Classes/LogicOperator.html">LogicOperator</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/next" title="next"></a>
	<h3 class="subsubtitle method-title">next</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Get the next expression chained to the current one.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) MatchExpression *next</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Get the next expression chained to the current one.</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/value" title="value"></a>
	<h3 class="subsubtitle method-title">value</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>The value used to test the condition in the expression</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) id value</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>The value used to test the condition in the expression</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/varName" title="varName"></a>
	<h3 class="subsubtitle method-title">varName</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Get the name of the variable or property that is being matched.</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>@property (nonatomic, strong) NSString *varName</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Get the name of the variable or property that is being matched.</p>

<p>This can be the name of a User/Room variable or a property from the classes listed below.</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Classes/RoomProperties.html">RoomProperties</a></p></code></li>
			
			<li><code><p><a href="../Classes/UserProperties.html">UserProperties</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
					
					<div class="section section-methods">
						<a title="Class Methods" name="class_methods"></a>
						<h2 class="subtitle subtitle-methods">Class Methods</h2>
						
						<div class="section-method">
	<a name="//api/name/expressionWithVarName:condition:value:" title="expressionWithVarName:condition:value:"></a>
	<h3 class="subsubtitle method-title">expressionWithVarName:condition:value:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>name of the variable/property to match</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>+ (id)expressionWithVarName:(NSString *)<em>varName</em> condition:(id&lt;IMatcher&gt;)<em>condition</em> value:(id)<em>value</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>varName</em></dt>
			<dd><p>name of the variable/property to match</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>condition</em></dt>
			<dd><p>the match condition</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>value</em></dt>
			<dd><p>the value to match against</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
					
					<div class="section section-methods">
						<a title="Instance Methods" name="instance_methods"></a>
						<h2 class="subtitle subtitle-methods">Instance Methods</h2>
						
						<div class="section-method">
	<a name="//api/name/and:condition:value:" title="and:condition:value:"></a>
	<h3 class="subsubtitle method-title">and:condition:value:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Concatenate the current expression with a new one using the logical AND operator</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (MatchExpression *)and:(NSString *)<em>varName</em> condition:(id&lt;IMatcher&gt;)<em>condition</em> value:(id)<em>value</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>varName</em></dt>
			<dd><p>name of the variable/property to match</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>condition</em></dt>
			<dd><p>the match condition</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>value</em></dt>
			<dd><p>the value to match against</p>

<p>return a new MatchExpression</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Concatenate the current expression with a new one using the logical AND operator</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/hasNext" title="hasNext"></a>
	<h3 class="subsubtitle method-title">hasNext</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Check if the current expression is concatenated to another one via a logic operator</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (BOOL)hasNext</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Check if the current expression is concatenated to another one via a logic operator</p>
	</div>
	
	
	
	
	
	<div class="method-subsection see-also-section">
		<h4 class="method-subtitle">See Also</h4>
		<ul>
			
			<li><code><p><a href="../Classes/LogicOperator.html">LogicOperator</a></p></code></li>
			
		</ul>
	</div>
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/or:condition:value:" title="or:condition:value:"></a>
	<h3 class="subsubtitle method-title">or:condition:value:</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Concatenate the current expression with a new one using the logical OR operator</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (MatchExpression *)or:(NSString *)<em>varName</em> condition:(id&lt;IMatcher&gt;)<em>condition</em> value:(id)<em>value</em></code></div>

    
	
	<div class="method-subsection arguments-section parameters">
		<h4 class="method-subtitle parameter-title">Parameters</h4>
		
		<dl class="argument-def parameter-def">
			<dt><em>varName</em></dt>
			<dd><p>name of the variable/property to match</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>condition</em></dt>
			<dd><p>the match condition</p></dd>
		</dl>
		
		<dl class="argument-def parameter-def">
			<dt><em>value</em></dt>
			<dd><p>the value to match against</p>

<p>return a new MatchExpression</p></dd>
		</dl>
		
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Concatenate the current expression with a new one using the logical OR operator</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
						<div class="section-method">
	<a name="//api/name/rewind" title="rewind"></a>
	<h3 class="subsubtitle method-title">rewind</h3>
	
	
	
	<div class="method-subsection brief-description">
		<p>Rewinds the cursor to the first expression in the chain and return the MatchExpression at the top of the chain of expressions</p>
	</div>		
	
    

	<div class="method-subsection method-declaration"><code>- (MatchExpression *)rewind</code></div>

    
	
	
	
	
	
	
	
	<div class="method-subsection discussion-section">
		<h4 class="method-subtitle">Discussion</h4>
		<p>Rewinds the cursor to the first expression in the chain and return the MatchExpression at the top of the chain of expressions</p>
	</div>
	
	
	
	
	
	
	
	<div class="method-subsection declared-in-section">
		<h4 class="method-subtitle">Declared In</h4>
		<code class="declared-in-ref">MatchExpression.h</code><br />
	</div>				
	
	
</div>
						
					</div>
					
					
                    
                    
				</div>
				<div class="main-navigation navigation-bottom">
					<ul>
	<li><a href="../index.html">Index</a></li>
	<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
				</div>
				<div id="footer">
					<hr />
					<div class="footer-copyright">
						<p><span class="copyright">&copy; 2014 gotoAndPlay() / A51 Integrated. All rights reserved. (Last updated: 2014-10-13)</span><br />
						
						<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2 (build 963)</a>.</span></p>
						
					</div>
				</div>
			</div>
		</article>
		<script type="text/javascript">
			function jumpToChange()
			{
				window.location.hash = this.options[this.selectedIndex].value;
			}
			
			function toggleTOC()
			{
				var contents = document.getElementById('contents');
				var tocContainer = document.getElementById('tocContainer');
				
				if (this.getAttribute('class') == 'open')
				{
					this.setAttribute('class', '');
					contents.setAttribute('class', '');
					tocContainer.setAttribute('class', '');
					
					window.name = "hideTOC";
				}
				else
				{
					this.setAttribute('class', 'open');
					contents.setAttribute('class', 'isShowingTOC');
					tocContainer.setAttribute('class', 'isShowingTOC');
					
					window.name = "";
				}
				return false;
			}
			
			function toggleTOCEntryChildren(e)
			{
				e.stopPropagation();
				var currentClass = this.getAttribute('class');
				if (currentClass == 'children') {
					this.setAttribute('class', 'children open');
				}
				else if (currentClass == 'children open') {
					this.setAttribute('class', 'children');
				}
				return false;
			}
			
			function tocEntryClick(e)
			{
				e.stopPropagation();
				return true;
			}
			
			function init()
			{
				var selectElement = document.getElementById('jumpTo');
				selectElement.addEventListener('change', jumpToChange, false);
				
				var tocButton = document.getElementById('table_of_contents');
				tocButton.addEventListener('click', toggleTOC, false);
				
				var taskTreeItem = document.getElementById('task_treeitem');
				if (taskTreeItem.getElementsByTagName('li').length > 0)
				{
					taskTreeItem.setAttribute('class', 'children');
					taskTreeItem.firstChild.setAttribute('class', 'disclosure');
				}
				
				var tocList = document.getElementById('toc');
				
				var tocEntries = tocList.getElementsByTagName('li');
				for (var i = 0; i < tocEntries.length; i++) {
					tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
				}
				
				var tocLinks = tocList.getElementsByTagName('a');
				for (var i = 0; i < tocLinks.length; i++) {
					tocLinks[i].addEventListener('click', tocEntryClick, false);
				}
				
				if (window.name == "hideTOC") {
					toggleTOC.call(tocButton);
				}
			}
			
			window.onload = init;
			
			// If showing in Xcode, hide the TOC and Header
			if (navigator.userAgent.match(/xcode/i)) {
				document.getElementById("contents").className = "hideInXcode"
				document.getElementById("tocContainer").className = "hideInXcode"
				document.getElementById("top_header").className = "hideInXcode"
			}
			
		</script>
	</body>
</html>